package linter.linterjava.service;

import com.github.pagehelper.PageInfo;
import linter.linterjava.POJO.DO.Curriculum;
import linter.linterjava.POJO.DO.CurriculumPlan;
import com.baomidou.mybatisplus.extension.service.IService;
import linter.linterjava.POJO.DTO.CurriculumPlanDTO;

/**
* @author 北煜
* @description 针对表【curriculum_plan(课程进度完成表)】的数据库操作Service
* @createDate 2024-07-07 12:15:25
*/
public interface CurriculumPlanService extends IService<CurriculumPlan> {

    /**
     * @param curriculumPlanDTO 课程进度类&分页&类型
     * @param uuid 用户id
     * @return 返回课程进度创建/更新与否
     */
    String curriculumPlan(CurriculumPlanDTO curriculumPlanDTO, Long uuid);

    /**
     * @param curriculumPlanDTO 课程进度类&分页&类型
     * @param uuid 用户id
     * @return 返回课程进度
     */
    Integer getCurriculumPlan(CurriculumPlanDTO curriculumPlanDTO, Long uuid);

    /**
     * @param curriculumPlanDTO 课程进度类&分页&类型
     * @param uuid 用户id
     * @return 返回完成的课程列表
     */
    PageInfo<Curriculum> getCurriculumFinish(CurriculumPlanDTO curriculumPlanDTO, Long uuid);

    /**
     * @param curriculumPlanDTO 课程进度类&分页&类型
     * @param uuid 用户id
     * @return 返回正在学习的课程列表
     */
    PageInfo<Curriculum> getLearningCurriculum(CurriculumPlanDTO curriculumPlanDTO, Long uuid);
}
